package com.wyx.suanfa;

/**
 * @author 王艺锡
 * @version 1.0
 */
public class binaryTreePaths {
    //给你一个二叉树的根节点 root ，按 任意顺序 ，返回所有从根节点到叶子节点的路径。
    //
    //叶子节点 是指没有子节点的节点。
    public static void main(String[] args) {

    }
}
/*
* class Solution {
    public List<String> binaryTreePaths(TreeNode root) {
        //用于存放结果集
        List<String> res = new ArrayList<>();
        if(root == null){
            return res;
        }
        //用于存放路径
        List<Integer> paths = new ArrayList<>();

        traversal(root,paths,res);
        return res;
    }

    public void traversal(TreeNode root,List<Integer> paths, List<String> res){
        paths.add(root.val);
        //如果是叶子节点
        if(root.left == null && root.right == null){
            StringBuilder sb = new StringBuilder();
            for(int i = 0;i<paths.size() - 1;i++){
                sb.append(paths.get(i)).append("->");
            }
            sb.append(paths.get(paths.size() - 1));
            res.add(sb.toString());
        }

        //如果不是叶子结点，递归
        if(root.left != null){
            traversal(root.left,paths,res);
            //回溯
            paths.remove(paths.size() - 1);
        }

         if(root.right != null){
            traversal(root.right,paths,res);
            //回溯
            paths.remove(paths.size() - 1);
        }
    }
}*/